package com.rc.web.mapper;

import com.mybatisflex.core.BaseMapper;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.rc.pojo.dto.identify.IdentifyQuery;
import com.rc.pojo.po.Identify;

import static com.rc.pojo.po.table.IdentifyTableDef.IDENTIFY;

/**
 * 识别记录表 映射层。
 * 提供植物识别相关的数据库操作接口
 */
public interface IdentifyMapper extends BaseMapper<Identify> {

    /**
     * 分页查询识别记录
     * @param query 查询条件
     * @return 分页结果
     */
    default Page<Identify> selectPage(IdentifyQuery query){
        return paginate(query.getCurrent(),query.getPageSize(),QueryWrapper.create()
                .where(IDENTIFY.ILL_NAMES.like(query.getIllName()))
        );
    }

    /**
     * 根据植物项ID查询识别记录
     * @param plantItemId 植物项ID
     * @return 识别记录实体
     */
    default Identify selectByPlantItemId(Long plantItemId) {
        return selectOneByQuery(QueryWrapper.create()
                .where(IDENTIFY.PLANT_ITEM_ID.eq(plantItemId))
        );
    }
}
